﻿using OsPortal;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Caching;

/// <summary>
/// Summary description for clsAuthor
/// </summary>
public class clsAuthor
{
    static string strClassName = "clsAuthor";
	public clsAuthor()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    /// <summary>
    /// Lấy toàn bộ danh sách danh mục
    /// Author: ThuanNH
    /// Create: 09/11/2013
    /// </summary>
    /// <returns>DataTable</returns>
    public static DataTable fncGetAll()
    {
        // Lấy tham chiếu đến đối tượng Cache.
        Cache _cache = HttpContext.Current.Cache;
        DataTable dt = null;
        string strCacheHangSo = "";
        strCacheHangSo = "AUTHOR_All";
        if (_cache[strCacheHangSo] == null)
        {
            try
            {
                dt = oSqlDataHelper.sExecuteDataTable("SELECT * FROM AUTHOR WHERE AT_STATUS = 1");
                // Lưu giữ item trong cache
                // cùng với sliding expiration là 60 phút.
                if (dt != null && dt.Rows.Count > 0)
                {
                    HttpContext.Current.Cache.Insert(strCacheHangSo, dt, null, DateTime.Now.AddHours(5), Cache.NoSlidingExpiration);
                }
            }
            catch (Exception ex)
            {
                OsPortal.oFileHelper.WriteLogErr(strClassName, "GetAll", ex.ToString());
            }
        }
        else
        {
            dt = (DataTable)_cache[strCacheHangSo];
        }
        return dt;
    }

    /// <summary>
    /// Lấy danh sách danh mục theo parrent ID
    /// </summary>
    /// <param name="parentID">Mã danh mục cha</param>
    /// <returns></returns>
    public static DataTable fncGetByTenKhongDau(string strName)
    {
        return OsPortal.oDataHelper.filterData(fncGetAll(), "at_name_kodau='" + strName + "'");
    }
}